package lista;


@SuppressWarnings("rawtypes")
public class TElemento implements IElemento{
	
	public IElemento siguiente;
	public Comparable etiqueta;
	public Object datos;
	
	/**
	 * Constructor de Elemento
	 * @param etiqueta Etiqueta del Elemento
	 * @param datos Dato del Elemento
	 */
	public TElemento(Comparable etiqueta, Object datos){
		this.etiqueta = etiqueta;
		this.datos = datos;
	}

	/**
	 * Retorna la etiqueta del elemento
	 * @return Etiqueta del elemento
	 */
	@Override
	public Comparable getEtiqueta() {
		return this.etiqueta;
	}

	/**
	 * Retorna el dato del elemento
	 * @return Dato del elemento
	 */
	@Override
	public Object getDatos() {
		return this.datos;
	}

	/**
	 * Retorna el elemento siguiente al actual
	 * @return Elemento siguiente al actual
	 */
	@Override
	public IElemento getSiguiente() {
		return this.siguiente;
	}
	
	/**
	 * Setea el elemento siguiente al actual
	 * @param siguiente Elemento a setear
	 */
	public void setSiguiente(IElemento siguiente) {
		this.siguiente = siguiente;
	}
	
	/**
	 * Retorna la etiqueta del elemento en formato String
	 * @return Etiqueta del elemento en formato String
	 */
	public String imprimirEtiqueta() {
		return this.etiqueta.toString();
	}
}
